<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui" >

    <body>

        <ui:composition template="/templatePrincipal.xhtml">




            <ui:define name="content">
                <p:dataTable id="dataTable" styleClass="dataTable"  var="dt" value="#{predioM.entidades}"  rows="25" paginator="true" 
                             rowKey="#{dt}" selectionMode="multiple" selection="#{predioM.entidadesSelecionadas}"
                             emptyMessage="Não há registro para serem apresentados"
                             rowsPerPageTemplate="10,25,50, 100"       
                             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  

                             >  

                    <f:facet name="header">  
                        <div align="right">
                            <p:commandButton  actionListener="#{predioM.prepararAdicionarEntidade}" icon="ui-icon-disk"
                                              value="Novo Registro" update=":formManutencaoDialog:display" onclick="modalmanutencao.show();"
                                              styleClass="botaoAcao"    />   
                             <p:commandButton   icon="ui-icon-disk"
                                                value="Excluir Registros" update=":formConfirmExclusaoRegistros" 
                                                onclick="confirmaExclusaoRegistros.show();"
                                                styleClass="botaoAcao"    />   
                        </div>


                    </f:facet>  

                    <p:column headerText="Ações" >                                                          
                        <p:splitButton  icon="ui-icon-wrench">  
                            <p:menuitem value="Alterar Registro"  actionListener="#{predioM.prepararAdicionarEntidade}"   icon="ui-icon-wrench" update=":formManutencaoDialog:display :formConteudo:dataTable"  oncomplete="modalmanutencao.show()" >
                                <f:setPropertyActionListener target="#{predioM.entidade}" value="#{dt}" />
                            </p:menuitem>
                            <p:menuitem value="Remover Registro"   icon="ui-icon-close" oncomplete="confirmaExclusao.show()"  update=":cascaConfirmExclusao :formConteudo:dataTable"   >
                                <f:setPropertyActionListener target="#{predioM.entidade}" value="#{dt}" />
                            </p:menuitem>
                            <p:separator />  
                            <p:menuitem value="Duplicar Registro"  actionListener="#{predioM.prepararDuplicarEntidade}"   icon="ui-icon-copy" update=":formManutencaoDialog:display :formConteudo:dataTable"  oncomplete="modalmanutencao.show()"    >
                                <f:setPropertyActionListener target="#{predioM.entidade}" value="#{dt}"  />
                            </p:menuitem>   
                        </p:splitButton>  

                    </p:column>

                    <p:column sortBy="#{dt.id}" headerText="ID" filterBy="#{dt.id}"  >  
                        <h:outputText value="#{dt.id}" styleClass="teste" />  
                    </p:column>  

                    <p:column sortBy="#{dt.nome}" headerText="Nome" filterBy="#{dt.nome}"  >  
                        <h:outputText value="#{dt.nome}" styleClass="teste" />  
                    </p:column>  

                    <p:column sortBy="#{dt.endereco}" headerText="Endereço:" filterBy="#{dt.endereco}"  >  
                        <h:outputText value="#{dt.endereco}" styleClass="teste" />  
                    </p:column>  


                </p:dataTable> 
            </ui:define>

            <ui:define name="modais">
                <p:dialog id="manutencaoModalEntidade"  header="Atualizar Predio" widgetVar="modalmanutencao" resizable="false" modal="true"   >  
                    <h:form id="formManutencaoDialog" >
                        <h:panelGrid id="display"   columns="2" styleClass="coluna100" cellpadding="4" columnClasses="coluna30, coluna70" >  

                            <p:outputLabel value="Id:" />  
                            <p:outputLabel value="#{predioM.entidade.id}"   />  

                            <p:outputLabel value="Nome:" for="nome" />  
                            <p:inputText styleClass="campoInput"   value="#{predioM.entidade.nome}"  id="nome"/>  
                            
                            <p:outputLabel value="Endereço:" for="endereco" />  
                            <p:inputText styleClass="campoInput"   value="#{predioM.entidade.endereco}"  id="endereco"/>
                            
                            <p:commandButton styleClass="botao" icon="ui-icon-disk" actionListener="#{predioM.salvaEntidade}" id="btnSalva" value="Salva" update=":formConteudo"  oncomplete="modalmanutencao.hide();"/>  

                        </h:panelGrid>  
                    </h:form>

                </p:dialog> 

                <h:panelGrid id="cascaConfirmExclusao">
                    <p:confirmDialog id="confirmaDialogExclusao" message="Tem certeja que deseja excluir o registro  #{predioM.entidade.endereco} ?"
                                     header="confirme" severity="alert" widgetVar="confirmaExclusao">
                        <h:form id="formConfirmExclusao" >
                            <p:commandButton id="confirmaExclusao" value="sim" oncomplete="confirmaExclusao.hide()"  
                                             actionListener="#{predioM.removerEntidade}" update=":formConteudo" />  
                            <p:commandButton id="cancelaExclusao" value="Cancelar" onclick="confirmaExclusao.hide();" type="button"  /> 
                        </h:form>
                    </p:confirmDialog> 

                    <p:dialog id="confirmaDialogExclusaoRegistros"  modal="true"
                              header="confirme"  widgetVar="confirmaExclusaoRegistros">
                        <h:form id="formConfirmExclusaoRegistros" >
                            <p:dataList value="#{predioM.entidadesSelecionadas}" var="dtExclusao" id="listaEntidadesExclusao"  
                                        paginator="true" rows="10"   type="none" >  
                                <h:outputText value="#{dtExclusao.id}" />
                                <h:outputText value="#{dtExclusao.endereco}" />
                                <br /> 

                            </p:dataList>

                            <h:panelGrid columns="2" id="displayExcluir" >
                                <p:commandButton id="confirmaExclusaoRegistros" value="sim" 
                                                 oncomplete="confirmaExclusaoRegistros.hide()"  
                                                 actionListener="#{predioM.removerEntidadesSelecionadas}" update=":formConteudo" />  
                                <p:commandButton id="cancelaExclusaoRegistros" value="Cancelar" 
                                                 onclick="confirmaExclusaoRegistros.hide();"  />

                            </h:panelGrid> 
                        </h:form>
                    </p:dialog>

                </h:panelGrid>
            </ui:define>

        </ui:composition>

    </body>
</html>
